pos-service API

pos-service supports 5 commands: Services: pos eve edp status route sensor msg cfg asset mod map sys tftp eng tag rec aprec test index

/epe/pos/taglist    POST version Input: Output:
Description: List tags and their properties.

fields-parameter controls the amount of tag properties listed. With no fields, only id and mac of all tags are listed, ordered by tag id. Try to minimize the amount of fields. The more fields, the longer the search takes. Even if you have not requested fields, some searches require extra fields and they are used internally, which may affect performance.

Search parameters can be mixed together to build complex queries. A logical AND is performed between parameters.

If the specified fields of tags are empty, they are not listed even if you have requested them.

Example 1: Get ALL tags; list mac and id fields only
/epe/pos/taglist

Example 2: Get ALL tags with ALL fields; not recommended for large environments; affects performance
/epe/pos/taglist?fields=all

Example 3: Get last good position of tag which has '5589' in serial
/epe/pos/taglist?fields=posgood&serial=5589

Example 4: Get tags 1 and 2 with all fields
/epe/pos/taglist?tagid=1,2&fields=all

Example 5: Get tags with 'test' in name
/epe/pos/taglist?name=test

Example 6: Get tags in tag group 56
/epe/pos/taglist?taggroupid=56

Example 7: Show group membership of tag 2
/epe/pos/taglist?tagid=2&fields=group

Example 8: Show attributes of tag 2
/epe/pos/taglist?tagid=2&fields=attribute

Example 9: Get tags with battery level between 0-10
/epe/pos/taglist?fields=stat;posgood&battery=0-10

Example 10: Get tags with pending commands
/epe/pos/taglist?pending=true

Example 11: Get tags with config 10
/epe/pos/taglist?configid=10

Example 12: Get tags with no config
/epe/pos/taglist?configid=0

Example 13: Get tags that failed to execute commands or configuration
/epe/pos/taglist?cmderror=true

Example 14: Get tags with 90-100 quality of last position
/epe/pos/taglist?posquality=90-100

Example 15: Get tags with 'test' in mac, serial, name, custom, mapname or zonename fields
/epe/pos/taglist?fields=all&text=test

Example 16: List only first 10 tags of the list
/epe/pos/taglist?pagesize=10

Example 17: List tags which have 'july' in custom field
/epe/pos/taglist?custom=july

Example 18: Get tags in model 1667 & zone 'lobby'
/epe/pos/taglist?modelid=1667&zonename=lobby

Example 19: Get tags with a position calculated within the last 60 minutes
/epe/pos/taglist?lastposgood=60m

Example 20: Get tags which have contacted RTLS Controller with HELLO within 30 minutes
/epe/pos/taglist?lasthello=30m

Example 21: Get all tags, tag with most recent good position first
/epe/pos/taglist?fields=posgood&orderby=lastposgood&ascending=false

Example 22: Get the presence of tags that have their presence updated within a day, order by presence timestamp
/epe/pos/taglist?fields=presgood&orderby=lastpres&ascending=false&lastpresgood=1d

Example 23: Get tags with menu and messaging capabilities (not either one but both)
/epe/pos/taglist?capability=menu&capability=messaging

Role Required: viewer
Call Counter: Total: 13, Failed: 0

fields (optional) - [String] tag properties to list; a combination of (type;stat;posgood;posbutton; posfailed;pending;user;group;attribute; presgood;presfailed;tagstatus); separate multiple values with ';'; 'all' activates all fields; 'group' lists info on group membership only for a single tag
mac (optional) - [Array] mac addresses of the tags
tagid (optional) - [Array] ids of the tags
assetid (optional) - [Array] ids of assets that tags are bound to
taggroupid (optional) - [Array] ids of the tag groups, 0 for tags not in any group
serial (optional) - [Array] serialnumbers of the tags
name (optional) - [Array] names of tags
type (optional) - [Array] type of tags
version (optional) - [Array] software or hardware version
profile (optional) - [Array] profile of tags
custom (optional) - [Array] string in user specified custom-field
text (optional) - [Array] searches text from multiple fields: mac, serial, name, custom, map name, zone name or site name
battery (optional) - [String] tags that have battery level between the given values, format min-max
configid (optional) - [long] tags that have the specified configuration id; zero for no config
tagmenuid (optional) - [long] tags that have the specified menu id; zero for no menu
cmderror (optional) - [String] true/false, true=tags that have had configuration errors, false tags that have not had configuration errors
pending (optional) - [String] true/false, true=tags that have pending commands or configurations, false=tags that have no pending commands or configurations
latestswversion (optional) - [String] true/false, true=tags that are known to have latest firmware version, false=tags that are known to have old firmware version
modelid (optional) - [Array] tags that are in the specified positioning model
presmodelid (optional) - [Array] tags that are in the specified presence model
mapname (optional) - [Array] tags that are in the specified maps
zonename (optional) - [Array] tags that are in the specified zones
sitename (optional) - [Array] tags that are present in the specified sites
mapid (optional) - [Array] tags that are in the specified maps
zoneid (optional) - [Array] tags that are in the specified zones
siteid (optional) - [Array] tags that are present in the specified sites
lastposgood (optional) - [String] tags that have sent a good position signal within the given timeperiod, format 1s for one second, 2m for two minutes, 3h for three hours, 4d for four days
lastposgoodnot (optional) - [String] tags that have NOT sent a good position signal within the given timeperiod
lastposfailed (optional) - [String] tags that have sent a failed position signal within the given timeperiod
lastpresgood (optional) - [String] tags that have sent a good presence signal within the given timeperiod
lastpresgoodnot (optional) - [String] tags that have NOT sent a good presence signal within the given timeperiod
lastpresfailed (optional) - [String] tags that have sent a failed presence signal within the given timeperiod
lasthello (optional) - [String] tags that have done maintenance call HELLO within the given timeperiod
lastbutton (optional) - [String] tags that have sent button event within the given timeperiod, format 1s for one second, 2m for two minutes, 3h for three hours, 4d for four days
posquality (optional) - [String] tags that have quality of last good position within the given range (0-100), format min-max, e.g. 50 - 100
ip (optional) - [Array] tag ip addresses
capability (optional) - [Array] tags that have the given capabilities. given as a string array. possible values are: menu=a menu with user-selectable options can be set to the tag; messaging=the tag is capable of receiving messages and displaying them to the user
statustype (optional) - [String] tags that have certain tag status type
statusvalue (optional) - [Array] tags that have one of given tag status values
orderby (optional) - [String] define sort field, one of: (serial, name, mac, tagid, battery, configid, type, modelid, mapname, mapid, zonename, zoneid, lastbutton, lastpos, lastposgood, lastpres, lastpresgood, lasthello and posquality)
ascending (optional) - [String] true=ascending (default), false=descending
from (optional) - [int] first matching entry that is returned, for pagination (first is 0)
pagesize (optional) - [int] how many entries will be returned starting from 'from', for pagination (default is all)
TAG.tagid - [long] tag id
TAG.mac - [String] MAC address
TAG.assetid - [long] asset identifier
TAG.type - [String] device type (such as t201 or t301)
TAG.createdon - [String] create time of tag
TAG.serialnumber - [String] tag serial number
TAG.swversion - [String] tag software version
TAG.hwversion - [String] tag hardware version
TAG.wlanfirmware - [String] WLAN firmware version
TAG.cmdsetversion - [int] command set version
TAG.configid - [long] configuration id, zero if no configuration
TAG.tagmenuid - [long] menu id, zero if tag has no menu
TAG.messageid - [int] identifier of the responded message (T301B tags)
TAG.menuitem - [int] menu item or response selection (T301B tags)
TAG.battery - [int] device battery level, range 0-100, or null if N/A
TAG.batterytime - [long] time stamp of battery level information in milliseconds since January 1, 1970, 00:00:00 GMT. null if no battery level
TAG.batterytimestamp - [String] time stamp of battery level information as string in ISO 8601 notation (yyyy-MM-dd hh:mm:ssZ). null if no battery level
TAG.apmac - [String] access point MAC address
TAG.cmdresult - [int] result of latest command, 0 means success
TAG.errorcmd - [String] command that caused error
TAG.errorresult - [String] error explanation
TAG.hellocounter - [int] counter for maintenance connections
TAG.hellotimestamp - [String] time of latest maintenance connection
TAG.confirmcounter - [int] counter for executed commands
TAG.confirmtimestamp - [String] time of latest executed command
TAG.dumptimestamp - [String] time of latest tag memory dump
TAG.posx - [int] X coordinate
TAG.posy - [int] Y coordinate
TAG.posmodelid - [long] id of the model where the tag is
TAG.posmapname - [String] name of the map where the tag is
TAG.poszonename - [String] name of the zone where the tag is
TAG.posmapid - [int] id of the map where the tag is
TAG.poszoneid - [int] id of the zone where the tag is, -1 if not inside any zone
TAG.posquality - [int] position quality, range 0-100
TAG.posreason - [int] tag scan reason, one of the following: 1=Button, 2=Motion, 3=Periodic, 4=Calibrate, 5=After motion, 6=Button2, 7=Tamper alarm, 8=Button3, 9=Charger status, 10=Safety switch status, 11=Low battery, 12=Motion stagnant, 13=Menu selection, 14=Supplementary, 15=Location beacon, 16=Priority message ack, 17=Battery level changed, 20=Network
TAG.postimestamp - [String] position time stamp
TAG.posfailedx - [int] X coordinate for failed position
TAG.posfailedy - [int] Y coordinate for failed position
TAG.posfailedmodelid - [long] id of the model where the tag is for failed position
TAG.posfailedmapname - [String] name of the map where the tag is for failed position
TAG.posfailedzonename - [String] name of the zone where the tag is for failed position
TAG.posfailedmapid - [int] id of the map where the tag is for failed position
TAG.posfailedzoneid - [int] id of the zone where the tag is for failed position
TAG.posfailedquality - [int] position quality for failed position, range 0-100
TAG.posfailedreason - [int] tag scan reason for failed position, one of the following: 1=Button, 2=Motion, 3=Periodic, 4=Calibrate, 5=After motion, 6=Button2, 7=Tamper alarm, 8=Button3, 9=Charger status, 10=Safety switch status, 11=Low battery, 12=Motion stagnant, 13=Menu selection, 14=Supplementary, 15=Location beacon, 16=Priority message ack, 17=Battery level changed, 20=Network
TAG.posfailedtimestamp - [String] time stamp for failed position
TAG.buttonx - [int] X coordinate for button press
TAG.buttony - [int] Y coordinate for button press
TAG.buttonmodelid - [long] id of the model where the tag is for button press
TAG.buttonmapname - [String] name of the map where the tag is for button press
TAG.buttonzonename - [String] name of the zone where the tag is for button press
TAG.buttonmapid - [int] id of the map where the tag is for button press
TAG.buttonzoneid - [int] id of the zone where the tag is for button press
TAG.buttonquality - [int] position quality for button press, range 0-100
TAG.buttontimestamp - [String] time stamp for button press
TAG.poscounter - [long] counter of calculated positions
TAG.pressiteid - [int] id of the site resolved for a tag's presence
TAG.pressitename - [String] name of the site resolved for a tag's presence
TAG.presapmac - [String] AP MAC used to resolve a tag's presence
TAG.presipaddress - [String] IP address used to resolve a tag's presence
TAG.presmodelid - [long] id of the model used to resolve a tag's presence
TAG.prestimestamp - [String] time stamp for good presence
TAG.presfailedapmac - [String] AP MAC which failed to resolve a tag's presence
TAG.presfailedipaddress - [String] IP address which failed to resolve a tag's presence
TAG.presfailedmodelid - [long] id of the model being used when the failure occured
TAG.presfailedtimestamp - [String] time stamp for failed presence
TAG.name - [String] tag name
TAG.profile - [String] movement profile
TAG.custom - [String] free-form user data
TAG.pending - [String] true if tag has pending commands, otherwise false
TAG.taggroupid - [Array] ids of groups where the tag belongs to. This response field is included only for single tag queries.
TAG.attributekey - [Array] private properties assigned to the tag
TAG.attributevalue - [Array] private properties assigned to the tag
TAG.statustype - [Array] tag status type
TAG.status - [Array] tag status value
TAG.statustime - [Array] tag status change time
/epe/pos/tagstream    POST version Input: Output:
Description: Receive new tag positions in real time. The connection stays active forever. Whenever a new position is calculated, RTLS Controller sends the position data to the caller. Server queues up positions and may drop any new position if the client does not read the stream fast enough.

mac, tagid, taggroupid, name are ORed together.
mapid, zoneid, mapname, zonename, scanreason are ANDed together.

Technically this call uses HTTP 1.1 chunked transfer, which provides a way to send multiple chunks of data without closing the connection. See the HTTP specification for the format of the chunks. (The Java SDK automatically takes care of chunking.)

A QUERYALIVE message is sent in 10 second interval to check connection aliveness. Ignore this message.

Example 1: Receive all location events for tag 3003121667
/epe/pos/tagstream?tagid=3003121667

Example 2: Receive button events for tag 3003121667
/epe/pos/tagstream?tagid=3003121667&scanreason=1&scanreason=6

Example 3: Receive positions for tag with mac 00:00:B3:00:00:05
/epe/pos/tagstream?mac=00:00:B3:00:00:05

Example 4: Receive positions for tags in group 1
/epe/pos/tagstream?taggroupid=1

Example 5: Receive positions for tags with 'test' in name
/epe/pos/tagstream?name=test

Example 6: Receive positions for tags in map 4
/epe/pos/tagstream?mapid=4

Example 7: Receive positions for tags located in maps having 'map' in name
/epe/pos/tagstream?mapname=map

Role Required: viewer
Call Counter: Total: 3, Failed: 2

mac (optional) - [Array] macs of the tags
tagid (optional) - [Array] ids of the tags
taggroupid (optional) - [Array] ids of the tag groups
assetid (optional) - [Array] ids of the assets
name (optional) - [Array] name of the tags; not exact
mapid (optional) - [Array] ids of the maps
zoneid (optional) - [Array] ids of the zones
mapname (optional) - [Array] names of the maps (not exact)
zonename (optional) - [Array] names of the zones (not exact)
scanreason (optional) - [Array] tag scan reasons. Tag scan reason is one of the following: 1=Button, 2=Motion, 3=Periodic, 4=Calibrate, 5=After motion, 6=Button2, 7=Tamper alarm, 8=Button3, 9=Charger status, 10=Safety switch status, 11=Low battery, 12=Motion stagnant, 13=Menu selection, 14=Supplementary, 15=Location beacon, 16=Priority message ack, 17=Battery level changed, 20=Network
format (optional) - [String] format of output, compact or xml; default is xml
TAG.tagid - [long] tag id
TAG.assetid - [long] asset identifier
TAG.mac - [String] MAC address
TAG.name - [String] device name
TAG.type - [String] device type (such as t201 or t301)
TAG.posx - [int] X coordinate
TAG.posy - [int] Y coordinate
TAG.posmodelid - [long] id of the model where the tag is
TAG.posmapname - [String] name of the map where the tag is
TAG.poszonename - [String] name of the zone where the tag is
TAG.posmapid - [int] id of the map where the tag is
TAG.poszoneid - [int] id of the zone where the tag is, -1 if not inside any zone
TAG.posquality - [int] position quality, range 0-100
TAG.posreason - [int] tag scan reason, one of the following: 1=Button, 2=Motion, 3=Periodic, 4=Calibrate, 5=After motion, 6=Button2, 7=Tamper alarm, 8=Button3, 9=Charger status, 10=Safety switch status, 11=Low battery, 12=Motion stagnant, 13=Menu selection, 14=Supplementary, 15=Location beacon, 16=Priority message ack, 17=Battery level changed, 20=Network
TAG.postimestamp - [String] position time stamp in server local time in ISO 8601 (yyyy-MM-dd HH:mm:ss) format
TAG.postime - [long] position time stamp in milliseconds since January 1, 1970, 00:00:00 GMT
TAG.messageid - [int] identifier of the responded message (T301B tags)
TAG.menuitem - [int] menu item or response selection (T301B tags)
TAG.batterylevel - [int] device battery level, range 0-100, or null if N/A
TAG.poscounter - [long] incrementing position counter for tag
TAG.posfilter - [String] position quality test result, one of the following: PASS=position passes quality test, FAIL=position fails quality test
TAG.custom - [String] user-defined custom parameters on the tag
TAG.charging - [String] indicates if device is being charged, one of the following: TRUE=device is charging, FALSE=device is not charging
TAG.safetyswitch - [String] indicates safety switch status, one of the following: ALARM=safety switch is triggered
/epe/pos/_clear Input: Output:
Description: SPECIAL. Resets all service specific counters.

Role Required: poweruser
Call Counter: Total: 0, Failed: 0

/epe/pos/_list    POST version Input: Output:
Description: SPECIAL. Lists the available commands, their arguments, responses, required roles, call counters and optional help descriptions.

Role Required:
Call Counter: Total: 1, Failed: 0

help (optional) - [int] set to 1 to get also HTML help description of the commands. Default is 0.
COMMAND.name - [String] command name
COMMAND.arg - [String] mandatory argument
COMMAND.optarg - [String] optional argument
COMMAND.response - [String] response field
COMMAND.internal - [int] 1 for internal command
COMMAND.role - [String] required role
COMMAND.callcount - [int] number of calls
COMMAND.callcountinternal - [int] number of internal calls
COMMAND.callcountfailure - [int] number of failed calls
COMMAND.htmlhelp - [String] command description in HTML format
/epe/pos/_status Input: Output:
Description: SPECIAL. Returns status information about the service.

Role Required: viewer
Call Counter: Total: 3, Failed: 0

STATUS.callcount - [int] total number of calls for the service
STATUS.callcountinternal - [int] total number of internal calls for the service
STATUS.callcountfailure - [int] total number of failed calls for the service
STATUS.commandcount - [int] number of commands in service
STATUS.* - [String] service specific status information

(The data in this page was generated from /epe/pos/_list?help=1)